package io.bdmc.modules.sys.entity;

import java.util.List;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import io.bdmc.common.annotation.FieldMeta;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 菜单管理
 * 
 * @author huang lu
 * @email hlkyo@qq.com
 * @date 2016年9月18日 上午9:26:39
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class SysMenu extends Model<SysMenu> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "menu_id", type = IdType.AUTO)
    private Long menuId;

	/**
	 * 父菜单ID，一级菜单为0
	 */
	private Long parentId;
	
	/**
	 * 父菜单名称
	 */
	@TableField(exist = false)
	@FieldMeta(name = "父菜单名称", description = "父菜单名称")
	private String parentName;

	/**
	 * 菜单名称
	 */
	@FieldMeta(name = "菜单名称", description = "菜单名称")
	private String title;

	/**
	 * 代号
	 */
	private String code;
	
	/**
	 * 组件
	 */
	private String component;

	/**
	 * 菜单URL
	 */
	private String path;

	/**
	 * 授权(多个用逗号分隔，如：user:list,user:create)
	 */
	private String perms;

	/**
	 * 类型     0：目录   1：菜单   2：按钮
	 */
	private Integer type;

		/**
	 * 菜单层级0，1，2
	 */
	private Integer level;

	/**
	 * 菜单图标
	 */
	private String icon;

	/**
	 * 排序
	 */
	private Integer orderNum;
	
	private String cascader;


	/**
	 * 页面按钮权限
	 */
	@TableField(exist = false)
	private String permTypes;
	/**
	 * ztree属性
	 */
	@TableField(exist = false)
	private Boolean open;
	
	@TableField(exist = false)
	private List<?> children;


}
